Method and system for improving the efficiency of state information transfer over a wireless communications network

ABSTRACT

A system and method for managing state information related to an interactive application to accommodate one or more users participating in an interactive application session. The state information can include local state information specific to each of the one or more user&#39;s unique view of the interactive application and global state information. The system can include a telecommunications network; an application server in communication with the telecommunications network for managing the global state information relative to all of the users participating in the interactive application session; and at least one mobile client device in communication with the application server over the telecommunications network for managing the local state information for each of the one or more users. The method can include structuring the state information for optimized delivery over the telecommunications network and transferring the state information over the telecommunications network.

This application is a continuation application of U.S. patentapplication Ser. No. 09/885,977, filed Jun. 22, 2001, which applicationis hereby incorporated by reference herein as if set forth in theentirety.

FIELD OF THE INVENTION

The present invention relates to a system and method for improving theefficiency of state information transfer over a network. In particular,the present invention preferably relates to optimizing the structure andmethod of transmission of degrees of freedom information in amulti-player, interactive game over a wireless communications network.

BACKGROUND OF THE INVENTION

Online entertainment has been popular for several years. Typically,users connect to the Internet through their desktop computers and enjoycomputer hosted games ranging. from simple board games, like backgammon,to more complex and graphic intensive adventure games. Recently,developments in technology have enabled users to engage in multi-player,interactive gaming sessions with other users who may be scattered acrossthe globe. The ability to play a game with friends, and even strangers,who are not similarly located creates an exciting outlet for gamingaficionados.

Although in its infancy, interactive gaming has become available tousers over a wireless network. Using their mobile handset as a gamecontroller, users play games with other players not in their areawithout being tied down to their desktop computer. The thrill ofinteractive gaming coupled with the convenience of being able to playanywhere through your mobile handset makes wireless interactive gaming avery exciting, and potentially profitable, opportunity for operators ofwireless networks.

Interactive gaming over a wireless network, however, is not without itsdisadvantages. Latency and data transmission delays create performanceissues when gaming over any network but are especially-troublesome overwireless communication networks. Many known systems attempt to solvelatency issues by offering only simplistic games with no or low qualitygraphics that are unaffected by communication delays. These systems,however, significantly depreciate the user's gaming experience. Inaddition, many known wireless interactive gaming systems are not trulyinteractive and require users to actually be within a certain range fromone another. Other known systems tax network capacity and waste networkresources to such a degree that network operators must charge usersprohibitively high service fees to avoid significant losses.

Others have attempted to provide multi-player, interactive gaining overa network. For example, U.S. Pat. No. 6,050,898 to Vange, et al.,!discloses a computer-based interactive gaming system that uses a methodfor initiating and scaling a massive concurrent data transaction. Vangediscloses a system and method for optimizing the transmission ofcomputer-hosted game information over a telecommunications link, such asthe Internet.

European Patent Application No. 00660125.6, filed by Nokia Corporation,discloses a multi-player game system using a mobile telephone and gameunit. The application discloses using a mobile phone to download a gameto separate game units and linking the multiple users using a low powerradio link.

European Patent Application No. 00660161.1, filed by Nokia Corporation,discloses a system for profiling mobile station activity in a predictivecommand wireless game system. The application discloses a system andmethod for customizing an interactive, text-based game based on mobilestation activity.

Although many of the prior known gaming systems claim to offer anenhanced, interactive gaming experience, none of the prior known systemsof which the present inventors are aware offer: (1) a fully interactivegaming experience; (2) 50310-00683 over a truly wireless network; (3)with high resolution graphics; (4) while efficiently using networkresources; and (5) offering those services at a low, fixed, monthlyservice charge, that is not based on minutes of use.

The present invention addresses the problem of how to: deliver anenhanced, interactive game experience, efficiently and cost effectively.In particular, the system and method of the present invention offers areal-time, interactive experience and improves control over the transferof game state information. Preferably, by controlling degrees of freedominformation and managing the network traffic more efficiently than priorknown systems, the present invention conserves network capacity andoffers the network operator cost savings advantages. This enables theoperator to provide a more enhanced interactive gaming experience withthe same amount of network resources. This also creates the possibilityof providing a wireless game service to end users at a flat monthly raterather than on a Viper unit of time” basis. In this regard, the presentinvention is preferably adapted to the pricing model of Assignee'sCricket™ wireless telecommunications services.

OBJECTS OF THE INVENTION

It is therefore an object of the present invention to overcomeshortcomings of prior known interactive gaming systems.

It is another object of a preferred embodiment of the present inventionto improve the efficiency of transfer of state information forinteractive wireless services.

Another object of a preferred embodiment of the present invention is toimprove the quality of wireless interactive gaming systems.

A further object of a preferred embodiment of the present invention isto reduce the operations cost of delivering interactive applicationsover a wireless communications network.

An additional object of a preferred embodiment of the present inventionis to reduce the degree to which interactive wireless services arenetwork dependent.

Another object of a preferred embodiment of the present invention is toreduce the degree to which interactive wireless services are time of daydependent.

A further object of a preferred embodiment of the present invention isto increase the availability of interactive wireless services.

An additional object of a preferred embodiment of the present inventionis to more efficiently use network capacity for interactive wirelessgaming applications.

Another object of a preferred embodiment of the present invention is toreduce the cost of bandwidth used to deliver interactive services.

Another object of a preferred embodiment of the present invention is tomanage degrees of freedom necessary to render an interactive applicationon a personal handheld device and on network server components in orderto reduce wireless communications traffic required to operate theinteractive application.

An additional object of a preferred embodiment of the present: inventionis to adapt the wireless transmissions between the network and thepersonal device to reduce latency.

Another object of a preferred embodiment of the present invention is tominimize the amount of information transmitted between the network andthe personal client access device in order to update the state of theinteractive application.

A further object of a preferred embodiment of the present invention isto limit the latency of the response of an interactive application.

A further object of a preferred embodiment of the present invention isto provide interactive services at a cost that varies as a function ofavailable bandwidth or other network resources.

Yet another object of a preferred embodiment of the present invention isto increase the perceived speed of interactive use.

An additional object of a preferred embodiment of the present inventionis to reduce the differences in latency between users of the interactiveservice.

Another object of a preferred embodiment of the present invention is toachieve a consistent level of latency between users of the interactiveservice.

A further object of the present invention is to create an even Playingfield for interactive services.

An additional object of the present invention is to provide a morecost-effective way to deliver interactive services to end users.

Additional objects and advantages of the invention are set forth, inpart, in the description which follows and, in part, will be obviousfrom the description or may be learned by practice of the invention. Theobjects and advantages of the invention will be realized in detail bymeans of the instrumentalities and combinations particularly pointed outin the appended claims.

BRIEF SUMMARY OF THE INVENTION

As illustrated in the accompanying diagrams and disclosed in theaccompanying claims, the present invention is a system for defining,interpreting, and managing state information related to an interactiveapplication to accommodate one or more users participating in aninteractive application session. The present invention preferablycomprises: a communications network; one or more client access devices;and server means, adapted to manage degrees of freedom of an interactiveapplication or service. The communications network preferably is awireless communications network; further comprising: at least one basestation; at least one base station controller; and at least one mobileswitching center.

In a preferred embodiment, the system of the present inventioncomprises: a wireless communications network; an application server incommunication with said wireless communications network for managing theglobal state information relative to all of the users participating inthe interactive application session; and at least one mobile clientdevice in communication with said application server over said wirelesscommunications network for managing the local state information.

In an alternate preferred embodiment, the present invention comprises:an interactive application server for managing global state informationrelated to an interactive application relative to local stateinformation received from one or more mobile client devices over awireless communications network during an interactive applicationsession. The server preferably comprises: communication means forreceiving the local state information from the one or more mobile clientdevices; global modeler means for comparing the received local stateinformation with the global state information to produce updatedinformation and updating the global state information with the updatedinformation; and server state manager means for structuring the updatedstate information for optimized delivery over the wirelesscommunications network; wherein said communication means delivers theupdated state information to said one or more mobile client devices. Theserver state manager preferably structures the updated state informationbased on degrees of freedom associated with the interactive application.

In an alternate preferred embodiment, the present invention is a mobileclient device for managing local state information related to aninteractive application relative to global state information maintainedby an application server during an interactive application sessionbetween one or more users over a wireless communications network. Themobile client device of the present invention preferably comprises:local modeler means for comparing the local state! information to theglobal state information, wherein the differences between the localstate information and the global state information comprise changedstate information; client state manager means for structuring thechanged state information for optimized delivery over the wirelesscommunications network; synchronization means for synchronizing thechanged state information relative to the global state information; andcommunication means for delivering the changed state information to theapplication server. The client state manager preferably structures thechanged state information based upon degrees of freedom associated withthe interactive application. The mobile client device of the presentinvention preferably further comprises: memory means for storing theinteractive application; and input/output means for interfacing with theinteractive application.

As embodied herein, the present invention preferably further comprises amethod and system for improving the management of state informationtransfer for an interactive application over a wireless communicationsnetwork. The present invention preferably comprises a method and systemfor determining the instruction set necessary to render the interactiveapplication; determining degrees of freedom based on that instructionset; reducing either the instruction set and/or the degrees of freedomto the minimal number of degrees of freedom and/or instructionsnecessary to render the interactive application; and synchronizing theusers with respect to one another and with respect to the interactiveapplication.

As embodied herein, the instruction set is preferably determined basedupon a number of parameters, comprising one or more of the following:the features and characteristics of the wireless access device; theversion of the interactive application; the user preferences and/orcharacteristics; the control protocols and methodologies employed; andthe features and characteristics of the interactive application.

In a preferred embodiment of the present invention, the degrees offreedom are determined based upon a number of factors comprising one ormore of the following: degrees of freedom may be layered to enhance theefficiency of the state information transfer; a metaset of degrees offreedom may be employed to compile various subroutines needed to performvarious actions in the interactive application; sheets could be reducedto a single or a limited number of degrees of freedom; degrees offreedom could encompass single or multiple actions of the characters ofthe interactive application; actions could be combined, as many degreesof freedom be combined to an additional degree of freedom; degrees offreedom coding for various functions could be grouped or broken out asappropriate to provide flexibility as well as efficiency in updatingstate information; and special degrees of freedom could be createdspecifically for certain complex actions in the game that wouldotherwise require the transfer of substantial state information over theair interface.

Degrees of freedom may also be set subject to limits. Limits may beindependent, based upon rules for the interactive application, ordetermined based upon various features of the system, such as featuresof, the wireless communications network; the application; or the usersaccess device. Degrees of freedom may also be device-specific, such as:graphics; sounds; scents; temperature; vibrations; force; or otherphysical properties. The degrees of freedom may also be modified basedupon features that will improve the efficiency of use of the airinterface, such as adjusting: the frame rate; frame size; data rate; andpacket definition. In a preferred embodiment of the present invention,degrees of freedom may also be determined based upon the functionalityof projectiles employed in the interactive application.

In a preferred embodiment of the present invention, the instruction setand/or the degrees of freedom are reduced to enhance the efficiency ofthe transfer of state information over the air interface. This can beaccomplished either by reducing the initial instruction set to theminimum required before mapping degrees of freedom, or by determiningdegrees of freedom based on a preferred instruction set and thenreducing the degrees of freedom to the minimum required to provide thedesired functionality of the interactive application. Further, thesystem and users are preferably synchronized.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory only,and are not restrictive of the invention as claimed. The accompanyingdrawings, which are incorporated herein by reference, and constitute apart of the specification, illustrate certain embodiments of theinvention, and together with the detailed description, serve to explainthe principles of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described in connection with thefollowing figures in which like reference numbers refer to like elementsand wherein:

FIGS. 1 a and 1 b are schematic diagrams illustrating a system of thepresent invention;

FIG. 2 is a block diagram illustrating a system of a preferredembodiment of the present invention;

FIGS. 3 a and 3 b are block diagrams illustrating a client device (3 a)and a game server (3 b), of a system of a preferred embodiment of thepresent invention;

FIG. 4 is a block diagram depicting a sample network architecturesuitable for use in conjunction with the system and method of apreferred embodiment of the present invention;

FIG. 5 is a block diagram depicting a sample network architecture of theserver of an alternative preferred embodiment of the present invention;

FIG. 6 is a block diagram depicting a sample network architecture of theserver of an alternative preferred embodiment of the present invention;

FIG. 7 is a schematic diagram of the structure of a packet datatransmission of a preferred embodiment of the present invention;

FIG. 8 is a Table mapping bit locations to a degree of freedom libraryand game object library of a preferred embodiment of the presentinvention;

FIG. 9 is a flowchart depicting a method of a preferred embodiment ofthe present invention to determine state and establish parameters forone or more local client devices and communicate that information to aserver to update a global model common to the clients;

FIG. 10 is a flowchart depicting a method of a preferred embodiment ofthe present invention to determine and communicate degree of freedominformation from one or more clients to a server;

FIG. 11 is a flowchart depicting a method of determining andcommunicating degrees of freedom by the server of an alternativepreferred embodiment of the present invention;

FIG. 12 is a flowchart depicting a method of an alternative preferredembodiment of the present invention in which the client device isadapted to perform the responsibility and estimation functions of thedegree of freedom management process;

FIG. 13 is a flowchart depicting a method of an-alternative preferredembodiment of the present invention in which a client device is adaptedto perform the degree of freedom management function;

FIG. 14 is a flowchart depicting a method of an alternative preferredembodiment of the present invention in which one or more client devicesand a server are adapted to perform the degree of freedom managementfunction; and

FIG. 15 is a conceptual block diagram depicting the conversion of state,client, and behavior information to time, space, and velocity parametersby the degree of freedom management means of a preferred embodiment ofthe present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to a preferred embodiment of thesystem and method of the present invention, examples of which areillustrated in the accompanying drawings. An embodiment of theinteractive application system 10 of the present invention is shown inFIG. 1. In a preferred embodiment of the present invention, theinteractive application carried out on the system is an interactive gameadapted to be played by one or more users.

System of a Preferred Embodiment of the Present Invention

As depicted in FIG. 1 a, the present invention is adapted for use inconjunction with a telecommunications network 100, at least one mobilegame client 200 in communication with the telecommunications network100, and a mobile game server 300 in communication with thetelecommunications network 100. As embodied herein, degree of freedommanagement means 246 and 346 cooperate with one or both of the mobilegame client 200 and the mobile game server 300 to manage degrees offreedom information of an interactive application.

In the preferred embodiment of the present invention, as shown in FIG. 1b, the telecommunications network 100 is a wireless communicationsnetwork. Other suitable embodiments of the telecommunications network100 of the present invention, include, but are not limited to Plain OldTelephone Service (POTS); Public Switched Telephone Network (PSTN);Integrated Services Digital Network (ISDN); Asymmetric DigitalSubscriber Lines (ASDL); any of various other types of DigitalSubscriber Lines (xDSQ; Public Land Mobile Network (PLMN); the Internet;cellular; Global System Mobile (GSM); General Packet Radio Services(GPRS); Infrared Data Association (IrDA); Cellular Digital Packet Data(CDPD); Enhanced Data Rates for Global (or GSM) Evolution (EDGE);Universal Mobile Telecommunications System (UMTS), Ricochet proprietarywireless packet network; wireless local loop (WLL); Wireless Local AreaNetwork (WLAN); 802.11; infrared; Bluetooth; Wide Area Network (WAN);Local Area Network (LAN); Optical; Line of Sight; satellite-basedsystems; Cable; User Datagram Protocol (UDP); SIVIR (walkie talkies);any portion of the unlicensed spectrum; wireline networks; and/or anyother suitable telecommunications network 100. Any communicationsnetwork is considered to be within the scope of the present invention,provided it is adapted to render the interactive application to theuser, as described herein.

The interactive system 10 of the present invention is preferably adaptedfor use in conjunction with a wireless communications network 100 thatis data capable, as opposed to a first generation cellular (voice only)network. The present inventors anticipate that the wireless network 100is preferably based upon PCS, TDMA, CDMA, CDPD, CDMAone, or any othersuitable technology(ies) or standard(s) that are data capable.

The wireless communications network 100 further comprises at least onebase station (BTSs) 110, at least one base station controller (BSC) 120,and at least one mobile switching center (MSC) 130. Each base station110 includes a transceiver capable of transmitting signals to andreceiving signals from the mobile game clients 200. In addition, as willbe apparent to those of ordinary skill in the art, each base station 110is connected through the BSC 120 to the MSC 130. The MSC 130 is incommunication with the mobile game server 300 through the IWF 150. TheIWF includes, as is apparent to those of ordinary skill in the art, thenecessary equipment and conversion algorithms to permit seamlesscommunication between the MSC 130 and the mobile game server 300,despite potentially dissimilar protocols supporting each of thosecomponents. In the preferred embodiment of the present invention, theIWF comprises an “L” interface. Accordingly, the wireless communicationsnetwork 100 is adapted to allow communication between the mobile gameclients 200 and the mobile game server 300.

It will be apparent to persons of ordinary skill that variousmodifications and variations may be made in the present inventionwithout departing from the scope or spirit of the invention. Forexample, the mobile game server 300 could be deployed as a separateserver component or as a server farm. Alternatively, the mobile gameserver 300 and the functions it performs, could be incorporated in anysuitable location in the network 100. Thus, it is intended that theinvention cover the variations and modifications of the inventionprovided they come within the scope of the appended claims and theirequivalents.

FIG. 2 depicts an alternative preferred embodiment of the presentinvention. As shown in FIG. 2, the present invention comprises thenetwork 100; the at least one mobile game client 200; the mobile gameserver 300; and the interactive application 400. The mobile game client200 preferably further comprises a client session management means 240and a client communication means 220. The mobile game server 300preferably further comprises server communication means 320; serversynchronization means 330; and server session management means 340. Inan alternative preferred embodiment of the method of the presentinvention, as shown in FIGS. 9 and 11, the system of the presentinvention as depicted in FIG. 2 is adapted to determine the state of theclient device through the client session management means 240 and tocommunicate that information to the network 100 through the clientcommunication means 220. Similarly, as shown in FIGS. 9 through 14, theserver 300 is adapted to synchronize the mobile game client(s) 200 withthe interactive application and the server 300 through the serversynchronization means 330; analyze and determine the degrees of freedomfor each user of the application through the server session managementmeans 340; and communicate information back to each of the mobile gameclient(s) 200 through the server communication means 320.

Alternative preferred embodiments of the system of the present inventionare shown in FIGS. 3 a and 3 b. As shown in FIGS. 3 a and 3 b, thepresent invention comprises the network 100; at least one mobile gameclient 200; and the mobile game server 300. In alternative preferredembodiment of the present invention, the mobile game client 200 furthercomprises an operating system 210; the client communication means 220; aclient system clock 230; the client session management means 240; and aclient application (API) 250. In a preferred embodiment of the presentinvention, the client session management means 240 of the presentinvention further comprises a game application 242; a client memorymeans 243; a local modeling means 244 and the client degree of freedom(DOF) management means 246.

In an alternate preferred embodiment of the present invention, as shownin FIG. 3 b, the mobile game server 300 further comprises: an operatingsystem 310; the server communication means 320; a server synchronizationmeans 330; the server session management means 340; and a serverapplication programming interface (API) 350. In a preferred embodimentof the present invention the server session management means 340 furthercomprises: a host game 342; an object library 348 cooperating with thehost game 342; a global modeling means 344 for reconciling the state ofthe application between all users and the application; and the serverdegree of freedom (DOF) management means 346.

As embodied herein, the mobile game client 200 is any user device thatis adapted to interface with the wireless communications network 100 toprovide a multi-player, interactive game. In a preferred embodiment, themobile game client 200 is a mobile phone. Other embodiments of themobile game client 200, include without limitation: personal digitalassistant (PDA); pager; wireless game controller; and/or an emaildevice. These types of variations are considered well within the scopeof the present invention.

With reference to FIG. 3 a, a preferred embodiment of the mobile gameclient 200 will now be described in detail. The mobile game client 200preferably comprises: the operating system 210, the client communicationmeans 220, the client synchronization means 230, the client sessionmanagement means 240, the client application programming interface (API)260, and client input/output means (not shown) for interacting with thegame player. The client input/output means may include, for example, amobile phone keypad, headphones, earphones, cables, joysticks, paddles,cameras, microphones, and/or speakers. As will be apparent to those ofordinary skill in the art, the client API 250 preferably furthercomprises the necessary routines, protocols, and tools to enable thecomponents of the mobile game client 200 to interact and to enableoperation within the wireless network 100. The mobile game client 200communicates with the wireless communications network 100 over awireless connection protocol 260.

As shown in FIG. 3 a, the mobile game client 200 includes the operatingsystem 210. The operating system 210 is any platform capable ofsupporting the multi-player, interactive gaming system 10 of the presentinvention, such as, for example, Palm, Windows, Java, Symbian, Macintoshcompatible, and/or other operating systems adapted for use with thepresent invention. The operating system 210 manages the input and outputof data and the interface between the various components of the mobilegame client 200.

In the preferred embodiment of the present invention, the clientcommunication means 220 comprises communication software, in cooperationwith the operating system 210. The communication means 220 communicatesgame state information, which has been optimized to efficiently utilizethe limited bandwidth of the wireless communications network 100, to andfrom the mobile game server 300 over the wireless communications network100. The communication means 220 packages and unpackages gameinformation according to instructions received from the client DOFmanagement means 246 and the server DOF management means 346 (discussedbelow). In the preferred embodiment of the present invention, local gameinformation comprises UDP data packets. The use of other protocols forpacketing and transporting the local game information, such as, forexample, TCP/IP, IP, IP Mobile, or any other suitable protocol(s) isconsidered to be well within the scope of the present invention.

As shown in FIG. 3 a, the mobile game client 200 further includes theclient synchronization means 230, cooperating with the communicationsmeans 220. The client synchronization means 230 is preferably a clientsystem clock adapted to time stamp the game information that iscommunicated with the mobile game server 300 over the wirelesscommunications network 100. As will be apparent to those of ordinaryskill in the art, the client synchronization means 230 enables the stateof game play to be synchronized between all users of interactive gamingsystem 10. The synchronization means 230 of the present inventionpreferably is an improvement over known, Internet-based gaming systems.The time management system inherent in a wireless network, such as, forexample, a CDMA network, is more precise than that typically employedover IP-based networks. This time management system is preferablyembedded in the mobile game client 200, and, therefore, all mobile gameclients 200 participating in a particular interactive session aresynchronized with each other and with the mobile game server 300.

The client session management means 240 manages the state, event, andbehavior of the interactive game being played on the mobile game client200. In the preferred embodiment, the client session management means240 of the present invention further comprises: the game application242, the local modeling means 244, and the client degrees of freedom(DOF) management means 246. The client session management means ispreferably an algorithm for managing the interactive application(gaming) session and all game objects at the client level. The clientsession management means 240 controls the functioning of the gameapplication 242, the local modeling means 244, and the client DOFmanagement means 246.

The game application 242 is game software that resides on the mobilegame client 200. The game application 242 comprises the application ofthe host game application 342 (discussed below) that resides on themobile game server 300. The game application 242 comprises the softwarenecessary to provide all of the functions and features of the particularinteractive application it describes. The game application 242 isexecuted by the mobile game client 200 and adapted to receive the inputand provide the output necessary for the user to play an interactivegame at the mobile game client 200.

The game application 242 is preferably stored on the mobile game client200 via the memory means 243. As apparent to those of ordinary skill inthe art, the memory means 243 comprises, for example, a memory chip, aplug-in module, solid state memory, Sandisk memory media, “flash”memory, such as a Sony memory stick, or any other memory means capableof supporting the game application 242 and capable of receiving andstoring updates from the mobile game server 300 and input/output fromthe client input/output means.

In the preferred embodiment of the present invention, the local modelingmeans 244 is an algorithm designed to model the local game state. Theterm “game state” is generally meant to describe a current snapshot, atany given time, of the position, timing, and nature of gameplay for allgame objects that are under the influence of a player's interactive“choice” in an interactive game experience. The exercise of choice bythe player operates within the physics that controls the relationshipbetween game objects in the interactive application. The local modelingmeans 244 examines the data associated with the particular state of thegame at the mobile game client 200. For any given game state, this datamay include, for example, a characters current position in the virtualgame space (which could be two- or three-dimensional), the items thecharacter is carrying, whether the character. is moving, and/or thedirection and rate at which the character is moving. The data thatdefines the game state is dependent on the particular game application242.

The local modeling means 244 recognizes any changes that occurred in thelocal game state, with focus on the mobile client players variablydefined area of controlled space relative to the last updated globalgame state. The global game state is managed by the mobile game server300 and is defined as the game view shared by all players. The localgame state is the game parameter controlled space, or “sphere ofinfluence,” that each client player currently occupies. The local gamestate will differ for each player at each mobile game client 200. Inaddition, the size and scope of the local game state is flexibly defineddepending on the interactive application or game involved. For example,the local game state may involve a two-dimensional view or athree-dimensional view. Any interactions between the player and the gameapplication 242 at the mobile game client 200 (through the clientinput/output means) changes the state within that localized sphere ofinfluence. The client session management means 240 collects the changeof state information from the local modeling means 2” and implements theclient DOF management means 246.

In the preferred embodiment, the client DOF management means 246 is analgorithm stored on the mobile game client 200. The client DOFmanagement means 246 preferably is designed to structure (encode) thechange of game state information recognized by the local modeling means244 in a manner that can be communicated to the mobile game server 300and that efficiently utilizes the limited bandwidth of the wirelessnetwork 100. The mobile game server 300 receives the coded, changed gamestate information from each of the mobile game clients 200 in the gamingsession, decodes the information, updates the global model, and returnsthe necessary information to update each mobile game client 200 relativeto the global game state.

The client DOF management means 246 efficiently structures the change ofgame state information by optimizing the degrees of freedom informationthat is transmitted over the network. Simply put, the client DOEmanagement means 246 provides a “shorthand” description of any changesin the local game state that minimizes the amount of informationdelivered across the network 100 without compromising the enhanced,realistic feel of the interactive application.

At a high level, for example, the present inventors anticipate that anumber of methods may be used to reduce the amount of informationnecessary to enable the interactive gaming system 10. Instruction setsmay be layered. In this manner, sets of instructions may be groupedtogether in a logical fashion in order to reduce the amount of airtraffic necessary to actuate the movement of a game piece. For example,if the change in local state information recognized by the localmodeling means 244 includes the movement of a character, that isrunning, the information could be broken into several series of actions.Instructions could then be layered depicting groups of those actions.The arm movement could be depicted in one series of instructions; legmovement could be depicted in a n-other; and movement of the characterhorizontally and/or vertically could be depicted in yet other layers ofinstructions.

Similarly, multiple sets of instructions may be collapsed into a singleinstruction. Although this would require creating a number of codes thatrepresent the various actions the character could maintain, it wouldoffer the potential for dramatically reducing the amount of airinterface traffic required to actuate the game. For example, various ofthe actions involved in the game could be reduced to a singlesubroutine. Activities such as running, jumping, throwing, crawling,could each be reduced to a single instruction set so that a singleinstruction transmitted to the mobile game server 300 could define aseries of actions corresponding to the local change of game stateinformation.

Furthermore, the client DOF management means 246 may efficiently managespawned degree of freedom information, such as, for example, projectileinformation. In an interactive gaming application where a projectile,such as, a missile, a bullet a rope, an arrow, etc., is transmitted, thesystem must track movement of two discrete objects (the projectile andthe image throwing it). Prior known systems deliver multiple sets ofinstructions across the air interface. Other systems deliver only oneset of movement instructions, leading to a less realistic gamingexperience. In the present invention, the trajectory of the projectileis calculated at the client DOF management means 246, based on formulasor other data subject to depict movement of the projectile. Thecalculations, and the formulas required to make the calculations, aregame specific and are part of the game application 242.

For example, when the local change of game state information indicatesthat a ball has been thrown, the client DOF management means 246preferably evaluates the trajectory that the ball will take, rather thansending and receiving multiple instructions over the network depictingeach stage of movement of the ball. This prevents the present inventionfrom tying up valuable network capacity.

In an embodiment of the present invention where color is used, color maybe defined as a degree of freedom. Accordingly, the local change of gamestate information may be reduced by controlling the transmission ofcolor according to any one or more of the methods for controllingdegrees of freedom and state information discussed above.

For example, the facial color of a character in a particular gameapplication 242 may be defined by one degree of freedom with threestates (e.g., orange, red, and purple). The client DOF management means246 may define and structure any local change in the facial color suchthat only the state of the facial color needs to be transmitted over theair interface. When the character's face becomes bruised, for example,the client DOF management means 246 describes 11 purple” stateinformation only, rather than describing the change in terms of theentire face, which would require more network bandwidth to transmit.

With reference to FIG. 3 b, a preferred embodiment of the mobile gameserver 300 will now be described in detail. The mobile game server 300preferably comprises: the operating system 310; the server communicationmeans 320; the server synchronization means 330; the server sessionmanagement means 340; and the server application programming interface(API) 350. As apparent to those of ordinary skill in the art, the serverAPI 360 provides an interface between the server communication mean's320 and the server session management means 340.

In a preferred embodiment of the present invention, a mobileentertainment services platform 325 is adapted to support the mobilegame server and other entertainment services servers, including, but notlimited to: servers adapted to provide user profiling; voice-over-packetservices; Web browsing; and/or interactive community services; such asthose disclosed in Assignee's, U.S. Non-Provisional patent applicationSer. No. 09/833,656, entitled “Method and System to FacilitateInteraction Between and Content Delivery to Users of a WirelessCommunications Network,” filed Apr. 13, 2001, which is incorporatedherein by reference as if fully set forth herein.

Each of the components of the game server 300 functions similarly to thecorresponding component on the mobile game client 200. For example, asshown in FIG. 3 b, the game server 300 includes an operating system 310.As discussed in conjunction with the mobile game client 200, theoperating system 310 is any platform capable of supporting themulti-player, interactive gaming of the present invention.

In the preferred embodiment of the present invention, the servercommunication means 320 includes communication software, in cooperationwith the operating system 310. The server communication means 320communicates global game state information to and receives local gamestate information from each of the mobile game clients 200 over thewireless communications network 100. Similar to the client communicationmeans 220, the sewer communication means 320 packages and unpackages thegame information according to instructions received from the server DOFmanagement means 346.

As shown in FIG. 3 b, the game server 300 further includes the serversynchronization means 330. The server synchronization means 330preferably includes a server system clock 332 and a means 334, such asan algorithm or software, adapted to operate the system clock 332 and totime stamp the global game information that is communicated with themobile game clients 200 over the wireless communications network 100.

The server session management means 340 manages the state of theinteractive game being played on all of the mobile game clients 200. Inthe preferred embodiment, the server session management means 340 of thepresent invention further comprises: the host game application 342, theglobal modeling means 344, the game object library 348, and the serverDOF management means 346. The server session management means 340preferably is an algorithm for controlling the functioning of andinterface to the game application 342, the game object library 348, theglobal modeling means 344, and the server DOF management means 346. Theserver session management means 340 manages the gameplay of all loggedon users for a given interactive game application. The primary functionsperformed by the server session management means 340 preferably include:registration functionality for maintaining all session statistics of allgame objects; responsibility functionality for managing requests for allactive, or “in-play” objects; persistence functionality for controllingand maintaining permanent records of the “state” of all game objectsutilized in a game session; arbitration functionality for determiningthe current “state” of game objects; estimation functionality forestimating the true “state” of game objects in active game play; andreconciliation functionality for reconciling, or smoothing, the errorsbetween the “estimated” and the actual “state” of the global objectsbased on the latest synchronization of the global game view.

The host game application 342 is game software that resides on themobile game server 300 and is controlled by the server sessionmanagement means 340. The host game application 342 parallels the clientgame application 242 and may include software describing any gameapplication, ranging from simplistic board games to complex, graphicintensive action and adventure games.

In the preferred embodiment of the present invention, the game objectlibrary 348 is a database for storing a list of all relevant objectsthat comprise the interactive application. The game object library 348contains the entire list of objects that defines, populates and createsthe game play experience. All objects are grouped by their appearance ornature within the game construct. Object groups include, but are notlimited to, mobile client interface, client device input, graphics,communications, game session, and other groups that are appropriategiven the type and genre of the game application. Within each objectgroup there are object families. For example, within the game sessiongroup, depending on the type or nature of game play, there would beobject families for movement, trajectory, sound, color shifts(explosions), characters, tools, weapons, collectibles, spells,instruments, etc. The game object library 348 preferably cooperates withthe server session management means 340. The server session managementmeans 340 accesses the game object library 348. The server sessionmanagement means 340 performs the rendering of instructions and themanagement of a game's entire object list for all logged on players in aparticular game session.

In the preferred embodiment of the present invention, the globalmodeling means 344 is an algorithm designed to model the global gamestate. After the server communication means 320 receives and decodes thechange of state information from each of the mobile game clients 200,the global modeling means 3” updates the global game state based on thisinformation.

The server DOF management means 346 preferably is an algorithm stored onthe mobile game server 300. The server DOF management means 346 employsessentially the same algorithm data structuring methods that are used bythe client DOF management means 246, as discussed above. After theglobal game state has been updated by the global modeling means 344, theserver DOF means 346 structures (encodes) the updated game stateinformation in a manner that can be communicated to each mobile gameclient 200 and that efficiently utilizes the limited bandwidth of thewireless network 100.

Network Architecture

As will be apparent to persons of ordinary skill in the art, multiplevariations and modifications of each of the above components may readilybe adapted to be used with the present. invention. For example, thepresent invention could be deployed in various combinations of hardwareand/or software. Various hardware configurations could be used, each ofwhich could be adapted to the objects of the present inventions.Similarly, various software components could be employed in a mannersuitable to achieve the objects of the present invention. Moreover,various alternative algorithms could also be used, each of which wouldbe suitable to accomplish the purposes of the present invention. Thus,it is as intended that the present invention cover the variations andmodifications of the present invention, provided they come within thescope of the appended Claims and their equivalents.

Various algorithms and standards are known in the art that may beadapted for determining, evaluating, and/or communicating the degrees offreedom to support an interactive application in the manner of thepresent invention. For example, Distributed Interactive Simulation (DIS)was published by EEL 4781 Computer Networks, University of CentralFlorida, in the Fall of 1998, and is incorporated herein by reference.The DIS application is described in the paper entitled “DistributedInteractive Simulation (DIS)” by James Heardt and Kevin Mite, which isincorporated herein by reference. An alternative approach is MiMaze, adistributed multiplayer game on the Internet. Laurent Gautier andChristophe Diot, “Design and Evaluation of MiMaze, a Multiplayer Game onthe Internet,” which is incorporated herein by reference. Otherapproaches include those described in “A Network Software ArchitectureFor Large-Scale Virtual Environments,” a dissertation by Michael R.Macedonia at the Naval Post-Graduate School in Monterrey, Calif. (June1995), which is incorporated herein by reference. SimulationInteroperability Standards Organization, Inc., has published draftstandards that may also be adapted for use in conjunction with thepresent invention, such as, for example, RPR-FOM Version 1.0 (Draft),which is incorporated herein by reference. Similarly, the Institute ofElectrical and Electronics Engineers has promulgated standards forenumeration and-, bit-encoded values for use with protocols fordistributed interactive simulation applications, such as, for example,IEEE Standard 1278.1 and 1278.2 and accompanying documentation, whichare incorporated herein by reference.

Distributed Interactive Simulation (DS) is a network simulator that isdesigned to provide logistically efficient and cost-effective support toperform training and provide the ability to practice tactics in a battlesimulation. DIS attempts to provide a method of networking heterogeneoussimulators together that allows realistic, consistent simulations tooccur despite differences in simulator hardware and software, in orderto achieve interoperability of network simulators. DIS does this throughthe use of the DIS protocol standard, UDP. DIS integrates traditionalsimulator technologies with computer communication technologies tocreate a system that provides a common battlefield on which the varioussimulators can interact in active, real-time situations. Input andoutput is distributed across the simulators in real-time. This featureplaces limits on latency between hosts. Practical networks using DIStypically require multicasting to implement the required distribution ofall data to the participating simulators. These challenges are similarto those that are imposed in interactive gaming environment over awireless communication network. Nonetheless, the present inventors arenot aware of any application of DIS, or similar protocols to the problemof supporting interactive gaming applications, prior to the presentinvention.

The foundation of DIS data structure is a standard set of messages andrules, called Protocol Data Units (PDUs). An example of one of thesePDUs is the Entity State PDU, which represents all of the stateinformation about the simulated entity that all other simulators need toknow. For example, an Entity State PDU contains data about the positionand velocity of an entity and makes the type, position, orientation, andappearance of an entity available to all of the players of thedistributed simulation. To save network bandwidth, extrapolation or deadreckoning is used for the movement of the entity. By using the position,velocity, acceleration, and rotational velocity data, a receiving unitis able to then reckon a vehicle's position before the arrival of thenext PDU, thereby reducing consumption of network bandwidth.

DIS is strictly a peer-to-peer architecture, in which all data istransmitted to all simulators where it can be rejected or accepted,depending on the receivers needs. By eliminating a central serverthrough which all messages pass, DIS dramatically reduces the timeneeded for a simulator to send important information to anothersimulator. The lack of a central server greatly increases the realism ofthe simulator and the effectiveness of the simulation, yet, in thismanner, DIS differs from a wireless communications environment, in whichcommunications are mediated by network 100.

The types of PDUs exchanged in the DIS protocol include: entity states;emissions; bit stream packets; environment; fire and detonation. Theprotocol used by DIS is specified in “Standard for DistributedInteractive Simulation-Application Protocols”, Version 2.0.4 (Revised),which is incorporated herein by reference. The DIS system uses“Enumeration and Bit-Encoded Values for Use with IEEE Standards1278.1-1994 for Distributed Interactive Simulation-ApplicationProtocols”, IST-CR-93-46, March 1994, which is incorporated herein byreference. For a definition of the enumerated values contained in thePDU fields specified in the IEEE 1278.1 standard, CCTT simulationapplication host processors use the Internet standard User Data GrahamProtocol (UDP) and the Internet Protocol (IP) for the transportationmechanism for PDUs. The CCTT network interface is consistent with the“Standard for Distributed Interactive Simulation-Communication Servicesand Profile”, IEEE Standard 1278.2-1995, which is incorporated herein byreference.

MiMaze is a distributed (i.e., server list) game that uses “unreliable”communications systems. MiMaze Transmission Control is based on RTP overUDP/IP multicast. Because of the distributed architecture of MiMaze, itssynchronization mechanism has to cope with different transmission delaysamong the participants.

The characteristics of distributed games are very similar to those ofDIS applications. MiMaze differs from DIS applications in that therequirements of the application's Central Processing Unit (CPU) are low.The application operates on the Internet. MiMaze employs a fullydistributed architecture using multi-point communications support. Thisarchitecture offers advantages such as robustness and scalability. Eachentity computes its own local view of the global state of the game usinginformation received from the other entities. This locally computed viewis then displayed to the local participant.

Network delays in MiMaze being different for all participants on theInternet, synchronization must be introduced to allow ADUs issued at the“same time” to be processed “together” by any participant. In the MiMazeenvironment, time is divided into fixed length sampling periods and abucket is associated with each sampling period. All ADUs received by aplayer that were issued by senders during a given sampling period arestored by the receiver in the bucket corresponding to that interval.When a participant has to deliver an updated global state, it computesall the ADUs available in the “current” bucket. One feature ofsynchronization is that all participants should display the same gamestate at the same time. MiMaze includes a global clock mechanism toevaluate the delay between participating entities. The synchronizationefficiency of systems such as MiMaze is relatively high. The producersof MiMaze claim that more than 85% of the buckets are delivered “ontime” and there is no late ADU. MiMaze purports to be the firstmulti-player game designed to be totally distributed, i.e., serverless.MiMaze further establishes that distributed approaches providing a goodlevel of performance with potential scalability and real-time propertiesare accessible to persons of ordinary skill in the art.

These approaches, proposed standards, and standards, however, relate tothe transmission of information over wireline networks on a peer-to-peerbasis. Due to the greater bandwidth available, aggressive control overthe degrees of freedom and management of packet data is not as criticalin these prior known environments as it is over a wireless communicationnetwork. Accordingly, although these, or other, algorithms and methodscould be used in conjunction with the present invention, the presentinvention goes beyond by providing a system and method for managingdegrees of freedom to adapt the application for use over a wirelesscommunications network.

The present invention preferably adapts interactive protocols andstandards, specifically to control the degrees of freedom of aninteractive application. Whereas DIS and MiMaze are peer-to-peerapplications running on the Internet or on distributed wide-areanetworks, the present invention is preferably adapted to control thedegrees of freedom in a manner that efficiently uses bandwidth andenables the interactive application to be rendered in real-time over awireless communications network.

FIGS. 4, 5, and 6 depict alternative preferred embodiments of a networkarchitecture that may be adapted for use in conjunction with the presentinvention. FIG. 4 depicts an example network architecture suitable foruse in conjunction with the system and method of a preferred embodimentof the present invention. As shown in FIG. 4, the system of the presentinvention preferably comprises: at least one mobile game client 200; thewireless communications network 100; the IWF 150; a server means 300,comprising one or more local caching servers 360, one or more masterserver means 370, and one or more databases 380; and a customer caremeans 600. The mobile game client 200 preferably further comprises: anRF Module 260 and the game software 242. As embodied herein, the RFModule 260 preferably comprises CDMAone components to adapt the mobilegame client 200 to the functionality of a CDMAone wirelesscommunications network and proprietary airlink information adapted todeliver the particular applications accessible over the wirelesscommunications network. The game software 242, resident on the mobilegame client 200, is also preferably provided. The mobile game client 200communicates over a wireless connection protocol 260 with the network100. The various components of the network 100 (e.g. base stations 110;base station controller 120; and mobile station controller 130)communicate with one another over wireline connections of a type wellknown prior to the present invention. As discussed in conjunction withFig. IIb, the IWF 150 is adapted to communicate with the network 100through the MSC 130.

As shown in FIG. 4, the server means 300 preferably further comprises:the local caching servers 360; the one or more master server means 370;and one or more databases 380. The database(s) 380 preferably comprisedatabases for: games; web server functionality; forum functions;advertising; and other dedicated functions provided by the network.

As shown in FIG. 4, the interactive system 10 preferably furthercomprises the customer care means 600. The customer care means 600provides, for example, provisioning, billing, and reporting services andmay include human and/or automated agent/representatives for providingservice support to the customer. The customer care means is preferablyadapted to interface both with the mobile game client 200 and the masterserver means 370. For example, the customer care means 600 may beadapted to interface with the mobile game client 200 through a USBconnection of the type well known in the art. Alternatively, customercare means preferably is adapted to cooperate with the server means 300,and in particular, the master server means 370 through server routerconnections of a type well known in the art prior to the presentinvention.

As shown in FIG. 5, in an alternative preferred embodiment of thepresent invention, the server means 300 further comprises: one or morelocal caching server 360; and one or more master server 370. As shown inFIG. 5, the local caching server 360 further comprises: a media module362 and an operator switching center 364. In a preferred embodiment, themaster server 370 further comprises: game lobby server means 371, forselecting content and managing subscriber profiles, targeting, etc.; areporting database 372, for managing the persistence function of theserver session management means 340; a web server 373, for managinginteractive community functions; a privacy server 374 for managingsubscriber key encryption information; a game server farm 375, forproviding one or more game servers; a communications server 320, forproviding instant messaging, chat, and other functions; and memory means380.

FIG. 6 depicts an alternative preferred embodiment of the server means300 of the present invention. As shown in FIG. 6, the server means 300further comprises: one or more local caching servers 360; one or moremaster servers 370; a backbone 500; and one or more interworkingfunctions 160, corresponding to said one or more local caching servers360. As depicted in FIG. 6, the local caching server(s) 360 arepreferably located near the point of presence of the wirelesscommunications network to the user. For example, in a particular localgeographic market, the point of presence caching server 360 may belocated adjacent to the Network Operations Center (NOC) of the localwireless communications network. This configuration preferably reduceslatency and provides a more effective interactive gaming experience.

As shown in FIGS. 5 and 6, the master server 370 and the local cachingserver 360 of the present invention preferably provide scalability. Itwould be apparent to persons of ordinary skill in the art that variousmodifications and variations may be made in the configuration of theserver means 300 without departing from the scope or spirit of thepresent invention. For example, a single server means 300 may be used inlieu of a separate local caching server 360 and master server 370. Inalternative preferred embodiments of the present invention, the servermeans 300 further comprises one or more local caching server 360,located adjacent to the point of presence of the local wirelesscommunications network; and a single master sewer 370 serving theoperators' entire operation. In further alternative preferredembodiments of the present invention, the server means 300 furthercomprises: one or more local caching server 360, located adjacent to thepoint of presence of each of the operators' local geographic networks;and one or more master servers 370, located in the operators' network toenhance the operation and facilitate coordination of the communicationsand interactive application traffic over the operators' network. Thus,it is intended that the variations and modifications of the server means300 and, in particular, of the hardware and software components anddeployment of the local caching server 360, the master server 370, andmultiple levels of servers, be considered part of the invention,provided they come within the scope of the appended claims and theirequivalents.

Packet Filling

The system of the present invention defines, manages, and/orcommunicates degree of freedom of information between one or more users(mobile game clients 200) and the network 100 in coordination with themobile game server 300. FIG. 15 depicts a conceptual block diagram ofthe conversion of state information 1501, event information 1502, andbehavior information 1503 into time information 1504, space information1505, and velocity information 1506. In a preferred embodiment of thepresent invention, the degree of freedom management means 246 and 346take information about the state of the interactive application, variousevents, and various behaviors by the user and convert that informationinto parameters for time, space, and velocity of objects in theinteractive application that can be rendered the user.

In a preferred embodiment to the present invention, management ofdegrees of freedom is accomplished by constructing and sequencingcommunications packets. Construction of packet data is universal to alldigital wireless technologies. Packet data preferably carries therequired information to render the interactive application to the user.Descripting languages are preferably used to construct the bit order andsequencing of a communications packet. Varying numbers of bits aredeveloped over an interval of time that have been transmitted to andfrom the network. In a preferred embodiment of the present invention,the structuring and sequencing of bits in a packet allows the packet toprovide critical information between the mobile game server 300 and themobile game client 200 in a manner more efficient than those methodsknown prior to the present invention.

FIG. 7 depicts a sample game packet structure of the preferredembodiment of the present invention. A bit number location defines thefunction of each bit within the packet. A reference table as shown inFIG. 8 is generated and/or periodically updated by the mobile gameclient 200, other participating clients 200, or the mobile game server300. The reference table is preferably resident on all devices withinthe client's sphere of influence within the interactive application orlocal scene model. In this fashion, the reference table allows thepacket information to be referenced to specific individual actionswithin the overall game.

Bandwidth and latency impose inherent difficulties for multiplayer gamesover a wireless communications network. The mobile game server 300 ofthe present invention preferably controls the global model of theinteractive application. Accordingly, the mobile game server 300controls the current global game state of the interactive application.Each of the mobile game clients 200 preferably possesses a true subsetof the global game state based on its local sphere of influence within agame session. The client session management means 240 and the serversession management means 340 preferably communicate information betweenthe local model and the global model. In a preferred embodiment of thepresent invention, the client session management means 240 and theserver session management means 340 communicate (through communicationmeans) this degree of freedom engine information with a minimum amountof data over a wireless communication network by controlling the degreesof freedom and the construction and filling of data products.

As embodied herein, the degree of freedom management means 246 and 346are adapted to further increase the efficiency of the wireless network100 by determining which mobile game clients 200 require a global updatetransmission. This is done based on the relevancy of other game statechanges at other participating game clients 200 relative to the specificmobile game client's local model. Degree of freedom packets arepreferably filtered at the mobile game server 300 to insure that returntrip data has relevance and is economically-transmitted to eachparticipating mobile client 200.

The game state preferably is defined by the degree of freedom managementmeans 246 and 346. The degree of freedom management means 246 and 346preferably include extensible coding languages with object orientationcapable of defining game state, event, and behavior of all game objectswithin a virtual game environment.

The present invention preferably employs game state packets. The gamestate packets of the present invention preferably enable ‘communicationof each player's game state relative to the physics (time, space, andvelocity) of the interactive application, as depicted in FIG. 15. In apreferred embodiment of the present invention, game state packetspreferably comprise: initialization packets for establishing variousgame states including players; bit number location references; locationstate packets; time sequencing and error correction adjustment packetsfor determining time and correcting errors; and rate initialization andreference packets for determining velocity.

In a preferred embodiment of the present invention the degrees offreedom can be defined by as little as one or more bits, depending onthe condition within the game environment that is being controlled. Ifthere is no change of state, no data need be transmitted. Each objectthat is involved within the game environment is adapted to have adefined set of parameters that will describe its behavior within thegame environment. In a preferred embodiment of the present inventionsome characteristics of the game packets include information that is:character specific; device specific; location specific; object physics;or other characteristics that are adapted to facilitate game play.Degrees of freedom are preferably grouped or mapped to an object libraryto allow complex movements within the interactive application to becontrolled with minimal transmitted information. The characteristics ofeach packet are preferably specific to the client, client set, orclient-server. This allows for larger, complex game environments to beestablished where multiple players coexist simultaneously, takingactions that may or may not be shown on the client field of play.

The degrees of freedom may define the relevant motions of an object. Allobjects required in a given application are preferably included in thegame object library 348. Each activity of the object is defined by adegree of freedom such as that described in Table 1 below. The degree offreedom establishes the state of the action being controlled. The numberof bits dedicated to each degree of freedom may be variable, dependingon the action.

TABLE 1 Single Bit Two Bit Three Bit Defined Bit X + M X + M X + MLocation X + M + 1 X + M + 1 X + M + 2Table 2 provides an example of how the varying degrees of freedom may beused in an application of the present invention.

TABLE 2 Single Bit Two Bit Three Bit Activity State Action State ActionState Action Motion 0 Reverse 1 00 No Activity 000 No Activity Forwardunit and Back 1 Forward 1 01 Forward 1 001 Forward 1 Unit unit unitslowly 10 Forward 1 010 Revers 1 unit unit slowly 11 Jump state 011 Jumpaction forward 2 defined in units next packet quickly sent 100 Jumpreverse 2 units quickly 101 110 111

Functional information is preferably mapped from a bit number locationreference to individual degrees of freedom for individual objects withinthe game session through a degree of freedom variable library. Thedegree of freedom variable library is preferably established on themobile game server 300, the client and/or clients 200. FIG. 8 providesan example of a mapping between a bit number location reference, adegree of freedom variable library in the game state of an alternativepreferred embodiment of the present invention.

Method of a Preferred Embodiment of the Present Invention

As discussed above, the present invention preferably manages degrees offreedom, in order to improve the transfer of state information for awireless interactive application. In a preferred embodiment, the presentinvention comprises a process and method for determining andcommunicating an instruction set for describing change of stateinformation. The method preferably further comprises: determining thedegrees of freedom, based upon the instructions set; reducing theinstruction set and/or the degrees of freedom to achieve a desiredefficient configuration of the change of state information; andsynchronizing the action of each of the users relative to each other inorder to facilitate the interactive application among one or more users.Determination of the instruction set is preferably based on a number offactors including, without limitation: the features and characteristicsof the client 200; the version of the interactive application that isbeing executed; user preferences; control protocols relative to thewireless communication network 100 and the client 200 with respect tothe interactive application; and the features and characteristics of theinteractive application itself.

In a preferred embodiment, the process of determining the degrees offreedom associated with the interactive application further comprisesconsideration of additional parameters, including one or more of thefollowing: the degree to which degrees of freedom may be layered orcombined; any limitations applicable to the degrees of freedom; devicespecific parameters; considerations of network efficiencies; andhandling of projectiles. Layering of degrees of freedom preferablyfurther comprises any one or more of the following techniques: creatinga metaset of degrees of freedom that combines one or more other degreesof freedom to create a more complexed or combined action; reducingentire server displays to one or more degrees of freedom; depicting asingle action as a degree of freedom, or alternatively, combining aseries of actions into one or more degrees of freedom. To the extentthat various actions depicted by certain degrees of freedom typicallyoccur together, those groups of degrees of freedom may be combined intoan alternative degree of freedom to further compress the data transferrequirements. In addition, special degrees of freedom may be created toperform unique or unusual maneuvers in the interactive application.

Limits are preferably imposed on degrees of freedom based on one or moreof a number of parameters: independently; arbitrarily; or the users' orsystem operators' preferences. Limits may be imposed on various of thedegrees of freedom based on rules of the interactive application that isbeing executed. Limits may be imposed on certain degrees of freedombased on system parameters or requirements. Similarly, the devicespecific degrees of freedom may be adapted based upon one or more of thefollowing capabilities of the client 200: graphics; sounds; scent;temperature; vibrations; and/or feedback. The determination of degreesof freedom based on network efficiency of the process of determiningdegrees of freedom may be based on any factor that influences theefficiency of transfer of information over the air interface. These mayinclude any one or more of the following, without [imitation: frametransfer rate; the size of the frame at the point on which the frame istransferred, namely the degree to which the frame is filled before beingtransferred; the data transfer rate; and packet definition.

In a preferred embodiment, the step of reducing the instruction setand/or the degrees of freedom to the critical set desired to execute theinteractive application further comprises reducing the instruction setand/or the degrees of freedom in order to more efficiently manage thetransfer of state information over the air interface. It will beapparent to persons of ordinary skill in the art that variations andmodifications may be made in the manner in which the instruction setand/or degrees of freedom are managed to achieve this goal withoutdeparting from the scope or spirit of the invention. For example, indetermining the instruction set, the instruction set could be analyzedcritically to determine the minimal number of instructions that arenecessary in order to render the interactive application. Only thoseminimal number of instructions could then be converted into degrees offreedom which are managed over the air interface. Alternatively, thedesired instruction set for the interactive application could bedetermined and all of the instruction set converted into degrees offreedom. At that point, the degrees of freedom could be analyzedcritically to determine the least number of degrees of freedom necessaryto render the interactive application in the desired format. The balanceof the degrees of freedom from the original instruction set could beignored and only those degrees of freedom that are necessary or criticalto render the interactive application in the desired format could betransmitted over the air interface. The reduction of the instruction setand/or the degrees of freedom may be based on user input; input fromother users; or the conditions of the state of play (such as rain,storms, snow, wind, and a variety of other environmental parameters).Thus, it is. intended that the variations and modifications of theinvention be included, provided they come within the scope of theappended claims and their equivalents.

In a preferred embodiment, the transfer of state information furthercomprises managing the synchronization in a manner to provide thedesired gaming experience. This can be accomplished in a number of ways,including, without limitation: lagging other users of the interactiveapplication to synchronize the action of the interactive applicationwith the slowest user or allowing the fastest player to proceed andsnapping other users to the same point in the game; or determining oneor, more users whose state of play determines the point ofsynchronization and snapping the balance of the users to that point.During the course of playing an interactive game, a variety of factorsmay cause one or more of the users to lag behind the balance of theusers of the application. For example, interference for multi-pathsignals may delay or disrupt the transmission of the interactiveapplication to one or more of the users. In that case, the user whosesignal is disrupted may begin to lag behind other users of the game. Inaddition, it is possible that through a variety of disruptive effects onvarious of the users that one or more, or all of the users may begin tolag relative to each other in the state of play of the interactiveapplication. Thus, the present invention preferably includes a processfor synchronizing the various users of the interactive application,periodically throughout the execution of the interactive application, inorder to synchronize the interactive gaming experience.

The present inventors anticipate that the system and method of apreferred embodiment of the present invention are fully compatible andusable in conjunction with PC-based games, as well as Internetapplications, and TV-based games. In addition, the present inventorsanticipate that the service employing the system and method of thepresent invention may be offered as a flat rate offering in conjunctionwith services such as Assignee's Cricket™ wireless communicationsservice. Such services may be offered on a prepaid billing service forgame purchase. In addition, scores may be posted through the wirelessnetwork 100 in a number of locations. Numerous other variations andmodification will be apparent to persons of ordinary skill that willfacilitate the delivery of wireless interactive applications, at highlevel of graphic quality, while more efficiently using network bandwidthand resources than prior known systems and methods. Thus, it is intendedthat the present invention include the variations and modification thatmay be used in conjunction with them, provided they come within thescope of the appended claims and their equivalents.

FIGS. 9 through 14 depict a series of alternative preferred embodimentsof the present invention. As shown in FIGS. 9 through 14, degrees offreedom are determined and communicated between the mobile gameclient(s) 200 and the server means 300 through the network 100.

FIG. 9 depicts a communication cycle of a preferred embodiment of thepresent invention. The server means 300 maintains global stateinformation regarding the interactive application. The server means 300communicates with one or more mobile game clients 200, depicted in FIG.9 as game states 1 through 4, over the network 100. As shown in FIG. 9,game state 1 is maintained on the first mobile game client 200; gamestate two is maintained on the second mobile game client 200; etc. Thesession management means 240 of the respective clients 200 determinesthe game state of each client device. The degrees of freedom managementmeans 246 determines the degrees of freedom corresponding to the state,or change in state, of the game running on that client's device. Theclient communication means 220 communicates the pertinent degree ofinformation relating to the game state over the network 100 to theserver means 300. The server means 300 preferably gathers the game stateinformation from each of the mobile game clients 200 to update theglobal model through server session management means 340. After updatingthe global model, the server 300 transmits back through the network 100packet data corresponding to the degrees of freedom required to updatethe state of play of each of the mobile game clients 200.

FIG. 10 depicts an alternative preferred embodiment of a communicationcycle of the method of the present invention. As shown in FIG. 10, amethod of the present invention preferably comprises the step 3300 ofsynchronizing the users with the server means 300, preferably using theclock 332 and synchronization means 334 of server synchronization means330. In step 1000, the server communications means 320 thencommunications the synchronization data with each of the mobile gameclients 200 over the network 100.

By means of example, only and not by means of limitation, mobile gameclients 1 through 4 are depicted in FIG. 10 as local 1 through local 4.Each mobile game client 200 experiences its own state of play in steps2020. The local modeling means 244 at each mobile game client 200 thendetermines the state of play of that client device in steps 2040 andcommunicates that information to the client (DOF) management means 246.Each of the DOF management means 246 determines the degrees of freedomnecessary to manage the state of play of each of the mobile game clients200 in steps 2060. The degrees of freedom information, determined insteps 2060, is then communicated to each of the client communicationsmeans 220 in step 2200, and packaged according to the instructionsprovided. The client communications means 220, in turn, communicates thedegrees of freedom information in step 1010 over the wirelesscommunication network 106 to the server means 300. In step 3000, theserver means 300 undertakes to update the global model of theinteractive application in the server session management means 340. Theserver means 300 transmits the requisite information to the serversynchronization means 330, which undertakes the steps of synchronizingthe communications between the server and the local client devices instep 3300, preferably using clock 332 and synchronization means 334. Theserver communication means 320 then communicates with the wirelesscommunication network 100, preferably through interworking function 150,to transmit the updated and synchronized global information to each ofthe client server devices 200.

FIG. 11 illustrates a method for managing state information for analternative preferred embodiment of the method of the present inventionfurther comprising the steps of: registration 3410; responsibility 3420;persistence 3430; arbitration 3440; estimation 3450; and reconciliation3460. In an alternative preferred embodiment of the present invention,one or more of the further steps of registration, responsibility,persistence, arbitration, estimation, and reconciliation are performedby the server session management means 340 and/or the client sessionmanagement means 240 in order to coordinate interactive applicationsamong the server 300 and the mobile game clients 200. FIG. 11 depicts acommunication cycle of a method of a preferred embodiment of the presentinvention showing the registration, responsibility, persistence,arbitration, estimation, and reconciliation functions being performed bythe server session management means 340.

As shown in FIG. 11, in step 3300, the server synchronization means 330synchronizes the state of each of the mobile game clients 200 and theserver means 300, preferably using the system clock 332 and thesynchronization means 334. In step 1000, the server communication means320 then preferably transmits the synchronization information over thewireless communication network 100 to each of the at least one mobilegame clients 200. Each mobile game client 200 experiences its own stateof play in steps 2020. The local modeling means 244 at each mobile gameclient 200 then determines the state of play of that client device insteps 2040. The mobile game client 200 communicates the local stateinformation to the client communication means 220 in step 2200. Thecommunication manager 220 communicates the local state information tothe server means 300 over the wireless communication network 100 in step3000. The server communication means 320 transmits the state informationfrom each mobile game client 200 to the server session management means340. The server session management means 340 then undertakes the furthersteps of: registering the mobile gave client 200 in step 3410;determining responsibility for various activities in the interactiveapplication in steps 3420; insuring persistence of various objects inthe interactive application in steps 3430; arbitrating any conflictsbetween users and/or the server in steps 3440; estimating the positionof objects that have changed to date in step 3450; and reconciling anyconflicts that have arisen through the session management meansprocessing in step 3460. In step 3100, the server session managementmeans 340 then transmits the updated global model information to theserver synchronization means 330 where the process begins again.

FIG. 12 depicts an alternative preferred embodiment of the presentinvention in which some, but not all, of the degrees of freedommanagement functions are performed at each of the mobile game client200. As shown in FIG. 12, in the synchronization step 3300, the serversynchronization means 330 undertakes the process of synchronizing theclient devices with the interactive application and the server means300, preferably using the system clock 332 and the synchronization means334. The server synchronization means 330 then transmits the requisitesynchronization information to the server communication means 320. Instep 1000, the server communication means 320 then preferably transmitsthe synchronization information over the wireless communication network100 to each of the at least one mobile game clients 200. Each mobilegame client 200 experiences its own state of play in steps 2020. Thelocal modeling means 244 at each mobile game client 200 then determinesthe state of play of that client device in steps 2040. [0134] Incontrast to FIG. 11, in which none of the degrees of freedom managementfunctions are performed on the mobile game client 200, FIG. 12 depicts amethod in which the client DOF management means 246 performs the stepsof determining degrees of freedom corresponding to responsibility instep 2420, and undertaking to evaluate and determine the degrees offreedom corresponding to the estimation function in step 2450. Thisinformation is then communicated through the communication means 220 instep 2200, as depicted in FIGS. 11 and 12.

FIG. 13 shows a method of an alternative preferred embodiment of thepresent invention in which peer-to-peer communications have beenenabled. Each of the mobile game clients 200 is performing the degreesof freedom management functions, and the server means 300 is notperforming any of the degrees of freedom management function normallyattributed to the server session management means 340. As shown in FIG.13, the client DOF management means 246 undertakes the steps ofregistration 2410; responsibility 2420; persistence 2430; arbitration2440; estimation 2460; and reconciliation 2460. In a peer-to-peerenvironment, as shown in FIG. 13, one of the mobile game clients 200 (inthe example shown in FIG. 13, local 1) undertakes the degrees of freedommanagement functions on behalf of all of the mobile game clients 200that are communicating with respect to the interactive application.

FIG. 14 depicts a method of yet another alternative preferred embodimentof the present invention in which each of the mobile game clients 200and the game server 300 are undertaking each of the registration,responsibility, persistence, arbitration, estimation, and reconciliationfunctions as depicted in FIGS. 9 through 13.

The above description is merely illustrative of the preferred methods ofusing the invention and is not intended to limit the invention asdisclosed and claimed. It will be apparent to persons of ordinary skillin the art that various modifications and variations may be made in theprocess of the present invention. Thus, it is intended that the presentinvention include these variations and modifications, provided they comewithin the scope of the appended claims and their equivalents.

What is claimed:
 1. A system for managing state information related toan interactive application, the system comprising: an application serverfor managing the global state information relative to usersparticipating in an interactive application session; and at least onemobile client device associated with each participating user, the mobileclient device being in communication with said application server over awireless telecommunications network for managing the local stateinformation for the corresponding participating user, wherein the localstate information corresponds to a subset of the global stateinformation based on an ability of the mobile client device to processglobal state information; wherein the application server includes acommunication interface for receiving the local state information fromthe mobile client device associated with each participating user and aglobal modeler for comparing the received local state information withthe global state information and updating the global state information.2. The system of claim 1, wherein said application server furthercomprises: a server state manager for structuring the updated globalstate information for optimized delivery over said wirelesscommunications network; and said communication interface transmits theupdated global state information to at least one mobile client device.3. The system of claim 1, wherein said application server furthercomprises synchronization means for synchronizing the updated globalstate information delivered to a plurality of mobile client devices. 4.The system of claim 3, wherein said synchronization means comprises aserver system clock.
 5. The system of claim 1, wherein the applicationserver structures the updated global state information based upondegrees of freedom associated with the interactive application.
 6. Thesystem of claim 1, wherein the at least one mobile client device furthercomprises: a local modeler for comparing the local state information tothe global state information, wherein differences between the localstate information and the global state information comprise changedstate information; a client state manager for structuring the changedstate information for optimized delivery over said wirelesscommunications network; and communication means for delivering thechanged state information to said application server over said wirelesscommunications network.
 7. The system of claim 6, wherein said at leastone mobile client device further comprises synchronization means forsynchronizing the changed state information delivered to saidapplication server relative to the global state information.
 8. Thesystem of claim 6, wherein said client state manager structures thechanged state information based upon degrees of freedom associated withthe interactive application.
 9. The system of claim 1, wherein the atleast one mobile client devices is associated with a fixed rate foraccessing the global state information.
 10. A computing device formanaging global state information related to an interactive applicationrelative to local state information received from one or more mobileclient devices over a wireless communications network during aninteractive application session, comprising: a communication interfacefor receiving the local state information from each of the one or moremobile client devices, wherein the local state information correspondsto a subset of the global state information based on an ability of themobile client device to process global state information; a globalmodeler for comparing the received local state information with theglobal state information and updating the global state information; anda server state manager for structuring the updated global stateinformation for optimized delivery over the wireless communicationsnetwork.
 11. The computing device of claim 10, wherein saidcommunication interface delivers the updated global state information toeach of the one or more mobile client devices.
 12. The computing deviceof claim 11, further comprising synchronization means for synchronizingthe updated global state information delivered to each of the one ormore mobile client device over said wireless communications network. 13.The computing device of claim 12, wherein said synchronization meanscomprises a server system clock.
 14. The computing device of claim 10,wherein said server state manager structures the updated global stateinformation based upon degrees of freedom associated with theinteractive application.
 15. A mobile client device for managing localstate information related to an interactive application relative toglobal state information maintained during an interactive applicationsession between users over a wireless communications network,comprising: a local modeler for comparing the local state information tothe global state information, wherein differences between the localstate information and the global state information comprise changedstate information and wherein the local state information corresponds toa subset of the global state information based on an ability of themobile client device to process global state information; a client statemanager for structuring the changed state information for optimizeddelivery over the wireless communications network; and a communicationinterface for delivering the changed state information over the wirelesscommunications network.
 16. The mobile client device of claim 15,further comprising: synchronization means for synchronizing the changedstate information delivered to the application server over the wirelesscommunications network.
 17. The mobile client device of claim 15,wherein said client state manager structures the changed stateinformation based upon degrees of freedom associated with theinteractive application.
 18. The mobile client device of claim 15,further comprising: a memory for storing the interactive application;and an input/output for interfacing with the interactive application.19. The mobile client device of claim 15 wherein the mobile clientdevice further includes a communication interface for receiving thelocal state information from additional mobile client devices, whereinthe local state information corresponds to a subset of the global stateinformation based on an ability of the mobile client device to processglobal state information; a global modeler for comparing the receivedlocal state information with the global state information and updatingthe global state information; and a global server state manager forstructuring the updated global state information for optimized deliveryover the wireless communications network.
 20. The mobile client deviceof claim 15, wherein said communication interface delivers the updatedglobal state information to each of the additional mobile client devicesin accordance with a peer-to-peer distribution model.